﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace RDD
{
    public partial class MDIPrincipal : Form
    {
        public RegiImpo fRegiImpo;
        public FactExpo fFactExpo;
        public PoliExpo fPoliExpo;
        public RegiRemi fRegiRemi;
        //Reportes
        public frmVistaPrevia fRepDetEstado;
        public frmVistaPrevia fRepoResuEstado;
        public frmVistaPrevia fRepImpoAnual;
        public frmVistaPrevia fRepCajasSinLiq;
        public RepImpRem fRepImpoRemi;

        public MDIPrincipal()
        {
            InitializeComponent();
            Valores.gCiaCod = 3;
            Valores.gCiaNom = "Bacori";
            lblCompania.Text = "Compañia : BACORI";
            lblLibreria.Text = "Libreria : " + Constantes.LIB400;
            lblUsuario.Text = "Usuario: " + Environment.UserName;


        }


        private void ExitToolsStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }


        private void CascadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.Cascade);
        }

        private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileVertical);
        }

        private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileHorizontal);
        }

        private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.ArrangeIcons);
        }

        private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (Form childForm in MdiChildren)
            {
                childForm.Close();
            }
        }


        private void bacoriToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Valores.gCiaCod = 3;
            Valores.gCiaNom = "Bacori";
            lblCompania.Text = "Compañia : BACORI";
            mnuBacori.Checked = true;
            mnuFTV.Checked = false;
            mnuCayetano.Checked = false;
            //Refrescar cada forma
            refrescarPantallas();
        }

        private void mnuFTV_Click(object sender, EventArgs e)
        {
            Valores.gCiaCod = 6;
            Valores.gCiaNom = "FTV";
            lblCompania.Text = "Compañia : FTV";
            mnuBacori.Checked = false;
            mnuFTV.Checked = true;
            mnuCayetano.Checked = false;
            refrescarPantallas();
        }

        private void mnuCayetano_Click(object sender, EventArgs e)
        {
            Valores.gCiaCod = 5;
            Valores.gCiaNom = "Cayetano";
            lblCompania.Text = "Compañia : CAYETANO";
            mnuBacori.Checked = false;
            mnuFTV.Checked = false;
            mnuCayetano.Checked = true;
            refrescarPantallas();
        }

        private void mnuPoliImpo_Click(object sender, EventArgs e)
        {
            if (fRegiImpo == null || fRegiImpo.IsDisposed)
            {
                //Mostrar Registro de importaciones
                fRegiImpo = new RegiImpo();
                fRegiImpo.MdiParent = this;
            }
            fRegiImpo.Show();
            fRegiImpo.WindowState = FormWindowState.Normal;
            fRegiImpo.Focus();
        }

        private void mnuFactExpo_Click(object sender, EventArgs e)
        {
            if (fFactExpo == null || fFactExpo.IsDisposed)
            {
                //Mostrar Forma de Facturas de Exportacion
                fFactExpo = new FactExpo();
                fFactExpo.MdiParent = this;
            }
            fFactExpo.Show();
            fFactExpo.WindowState = FormWindowState.Normal;
            fFactExpo.Focus();
        }
        private void mnuPoliExpo_Click(object sender, EventArgs e)
        {
            if (fPoliExpo == null || fPoliExpo.IsDisposed)
            {
                //Mostrar Forma de Facturas de Exportacion
                fPoliExpo = new PoliExpo();
                fPoliExpo.MdiParent = this;
            }
            fPoliExpo.Show();
            fPoliExpo.WindowState = FormWindowState.Normal;
            fPoliExpo.Focus();
        }
        public void refrescarPantallas()
        {
            if (fRegiImpo != null && !fRegiImpo.IsDisposed)
            { fRegiImpo.refrescar(); }
            if (fFactExpo != null && !fFactExpo.IsDisposed)
            { fFactExpo.refrescar(); }
            if (fPoliExpo != null && !fPoliExpo.IsDisposed)
            { fPoliExpo.refrescar(); }
            if (fRegiRemi != null && !fRegiRemi.IsDisposed)
            { fRegiRemi.refrescar(); }

        }

        private void mnuArticulos_Click(object sender, EventArgs e)
        {
            //Llamar Pantalla Administrar Articulos
            frmArticulo U = new frmArticulo();
            U.ShowDialog();
        }

        private void mnuAgencias_Click(object sender, EventArgs e)
        {
            //Llamar Pantalla Administrar Agencias
            frmAgencia U = new frmAgencia();
            U.ShowDialog();
        }

        private void mnuUsuarios_Click(object sender, EventArgs e)
        {
            //Llamar Pantalla Administrar Usuarios
            frmUsuario U = new frmUsuario();
            U.ShowDialog();
        }

        private void mnuRepImpoAnual_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            try
            {
                if (fRepImpoAnual == null || fRepImpoAnual.IsDisposed)
                {
                    //Mostrar Forma con el reporte
                    fRepImpoAnual = new frmVistaPrevia(1);
                    fRepImpoAnual.MdiParent = this;
                }
                fRepImpoAnual.Show();
                fRepImpoAnual.WindowState = FormWindowState.Normal;
                fRepImpoAnual.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrio un error al cargar reporte: " + ex.Message, "RDD - Reportes");
            }
            finally
            { this.Cursor = Cursors.Default; }
        }

        private void mnuRepoResuEstado_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            try
            {
                if (fRepoResuEstado == null || fRepoResuEstado.IsDisposed)
                {
                    //Mostrar Forma con el reporte
                    fRepoResuEstado = new frmVistaPrevia(2);
                    fRepoResuEstado.MdiParent = this;
                }
                fRepoResuEstado.Show();
                fRepoResuEstado.WindowState = FormWindowState.Normal;
                fRepoResuEstado.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrio un error al cargar reporte: " + ex.Message, "RDD - Reportes");
            }
            finally
            { this.Cursor = Cursors.Default; }
        }

        private void mnuRepDetEstado_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            try
            {
                if (fRepDetEstado == null || fRepDetEstado.IsDisposed)
                {
                    //Mostrar Forma con el reporte
                    fRepDetEstado = new frmVistaPrevia(3);
                    fRepDetEstado.MdiParent = this;
                }
                fRepDetEstado.Show();
                fRepDetEstado.WindowState = FormWindowState.Normal;
                fRepDetEstado.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrio un error al cargar reporte: " + ex.Message, "RDD - Reportes");
            }
            finally
            { this.Cursor = Cursors.Default; }
        }

        private void mnuRepCajasSinLiq_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            try
            {
                if (fRepCajasSinLiq == null || fRepCajasSinLiq.IsDisposed)
                {
                    //Mostrar Forma con el reporte
                    fRepCajasSinLiq = new frmVistaPrevia(4);
                    fRepCajasSinLiq.MdiParent = this;
                }
                fRepCajasSinLiq.Show();
                fRepCajasSinLiq.WindowState = FormWindowState.Normal;
                fRepCajasSinLiq.Focus();

            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrio un error al cargar reporte: " + ex.Message, "RDD - Reportes");
            }
            finally
            { this.Cursor = Cursors.Default; }
        }

        private void mnuRemisiones_Click(object sender, EventArgs e)
        {
            if (fRegiRemi == null || fRegiRemi.IsDisposed)
            {
                //Mostrar Forma de Facturas de Exportacion
                fRegiRemi = new RegiRemi();
                fRegiRemi.MdiParent = this;
            }
            fRegiRemi.Show();
            fRegiRemi.WindowState = FormWindowState.Normal;
            fRegiRemi.Focus();
        }

        private void mnuRepImpoRemi_Click(object sender, EventArgs e)
        {
            //Mostrar Forma con el reporte
            if (fRepImpoRemi == null || fRepImpoRemi.IsDisposed)
            {
                //Mostrar Forma de Facturas de Exportacion
                fRepImpoRemi = new RepImpRem();
                fRepImpoRemi.MdiParent = this;
            }
            fRepImpoRemi.Show();
            fRepImpoRemi.WindowState = FormWindowState.Normal;
            fRepImpoRemi.Focus();
        }

    }
}
